//package com.sansi.bleFloodlight.aspect;
//
//
//import com.my.httpapi.api.baseUtils.NoEmptyHashMap;
//import com.sansi.bleFloodlight.aop.annotation.DelayOver;
//
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//
//import io.reactivex.disposables.Disposable;
//
//@Aspect
//public class DelayOverAspect {
//    private static final String POINTCUT_METHOD = "execution(@com.sansi.bleFloodlight.aop.annotation.DelayOver * *(..))";
//
//    @Pointcut(POINTCUT_METHOD)
//    private void onDelayOverMethod() {
//    }
//
//    @Around("onDelayOverMethod() && @annotation(delayOver)")
//    public Object doDelayOverMethod(final ProceedingJoinPoint joinPoint, DelayOver delayOver) throws Throwable {
//        String key = delayOver.key();
//        Disposable subscribe = (Disposable) NoEmptyHashMap.getInstance().get(key);
//        if (subscribe != null){
//            subscribe.dispose();
//            NoEmptyHashMap.getInstance().remove(key);
//        }
//        return joinPoint.proceed();
//    }
//}
